package com.situ.javase.day1;
import java.net.Socket;
import java.util.Scanner;

import org.junit.Test;

public class HelloWorld {
	// main
	public static void main(String[] args) {
		// syso
		// System.out.println("HelloWorld");
		System.out.println("HelloWorld.main()");
	}
	
	// JUnit 主要用来做单元测试
	// 必须写成public void 而且不能有参数.
	// 使用JUnit之后就创建的类就不能起名字叫
	@Test
	public void test1() {
		// syst : systrace
		System.out.println("HelloWorld.test1()");
	}
	
	@Test
	public void test2 () {
		int num = 3;
		num = 5;
		// 默认byte是考虑正负，-128~+127，,128超过byte表示范围
		// byte b1 = 128;
		byte b2 = 127;
		// char类型可以表示一个英文字母，也可以表示一个汉字
		char ch1 = 'a';
		char ch2 = '中';
	}
	
	@Test
	public void test3() {
		// 在编码表里面a使用97来表示的
		char ch = 'a';
		System.out.println(ch);
		// 97+1=98 从小到大自动类型转换
		System.out.println(ch + 1);
		// 97+2=99
		System.out.println(ch + 2);
		// b从大到小需要强制类型转换
		System.out.println((char)(ch + 1));
		System.out.println((char)(ch + 2));
		System.out.println(3.14);
		// 3 从大到小需要强制类型转换，可能会丢失精度
		System.out.println((int)3.14);
	}

	@Test
	public void test44() {
		int num1 = 3;
		int num2 = 5;
		int result = num1 + num2;
		System.out.println(result);
		// 商是4
		System.out.println(8 / 2);
		// 余数是0：代表整除
		System.out.println(8 % 2);
		// 商是1
		System.out.println(8 / 5);
		// 余数是3
		System.out.println(8 % 5);
	}
	
	@Test
	public void test5() {
		int i = 3;
		i++; // ++i
		System.out.println(i);// 4
		// 这里是被println这个方法使用，i++先使用后++,
		// 最后执行完了之后这个i的是5
		System.out.println(i++);// 4 (i==5)
		// ++放在前面是先++，再使用
		System.out.println(++i);// 6
	}
	
	@Test
	public void test6() {
		System.out.println(3 > 5);// false
		System.out.println(5 <= 10);// true
	}
	
	@Test
	public void test7() {
		int num1 = 3;
		int num2 = 5;
		// &&短路
		System.out.println(num1 < 0 && num1++ < num2);// false
		System.out.println(num1);// 3
		System.out.println(num2);// 5
		// ||短路
		System.out.println((num1 > 0) || (num1++ < num2));// true
		System.out.println(num1);// 3
		System.out.println(num2);// 5
	}
	
	@Test
	public void test11() {
//		>=90   <=100           优秀 
//		>=80    <90       良好
//		>=70    <80       一般
//		>=60    <70       及格
//		<60               不及格
		Scanner scanner = new Scanner(System.in);
		// int score = 18;
		System.out.println("请输入学生成绩:");
		// 从控制台输入一个整数赋值给score
		int score = scanner.nextInt();
		System.out.println(score);
		
		// 将非法情况在前面直接过滤掉     卫操作
		if (score < 0 || score > 100) {
			System.out.println("非法输入");
			return;// 遇到reture，整个方法执行结束，后面代码不再执行
		}
		
		if (score >= 90 && score <= 100) {
			System.out.println("优秀");
		} else if (score >= 80 && score < 90) {
			System.out.println("良好");
		} else if (score >= 70 && score < 80) {
			System.out.println("一般");
		} else if (score >= 60 && score < 70) {
			System.out.println("及格");
		} /*else if (score < 0 || score > 100) {
			System.out.println("非法数据");
		}*/ else {
			System.out.println("不及格");
		}
	}
	
	public void name() {
		if (isBusy()) {
			System.out.println("换一个时间");
		} else if (isFree()) {
			System.out.println("出去度假");
		} else {
			System.out.println("学习java开发规范手册");
		}
	}
	
	@Test
	public void test34() {
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入年份：");
		int year = scanner.nextInt();
		if ((year % 4 == 0 && year % 100 != 0) 
				|| (year % 400 == 0) ) {
			// year这个变量使用+和字符串拼接
			System.out.println(year + "年是闰年");
		} else {
			System.out.println(year + "年不是闰年");
		}
	}
	
	@Test
	public void test444() {
		System.out.println("HelloWorld.test444()");
		int num1 = 3;
		int num2 = 5;
		num1 = num2;
		byte b = 127;
	} 
	
	
	
}
